package es.uned.ii.si3.business;

import java.util.List;
import es.uned.ii.si3.dao.MensajeDAO;
import es.uned.ii.si3.dao.MensajeDAOImpl;
import es.uned.ii.si3.dao.UsuarioDAO;
import es.uned.ii.si3.dao.UsuarioDAOImpl;
import es.uned.ii.si3.model.Mensaje;
import es.uned.ii.si3.model.Usuario;

public class GestionMensajes {

	private MensajeDAO mensajeDAO = null;
	
	
	public GestionMensajes() {
		mensajeDAO = new MensajeDAOImpl();
	}
	
	public List<Mensaje> getMensajes(int idUsuario) {
		return mensajeDAO.getAll(idUsuario);
	}
	
	public Mensaje getMensaje(int idMensaje) {
		return mensajeDAO.get(idMensaje);
	}
	
	public boolean sendMensaje(int idDestinatario, String asunto, String mensaje) {
		Usuario usuario = new Usuario();
		usuario.setIdUsuario(idDestinatario);
		Mensaje msg = new Mensaje(0, usuario, asunto, mensaje, new java.util.Date(), false);
		return mensajeDAO.insert(msg);
	}
	
	public boolean marcarLeido(Mensaje mensaje) {
		mensaje.setLeido(true);
		return mensajeDAO.update(mensaje);
	}
	
	public boolean marcarLeido(int idMensaje) {
		Mensaje mensaje = this.getMensaje(idMensaje);
		return this.marcarLeido(mensaje);
	}
	
	public boolean isMensajeriaActivada(int idUsuario) {
		UsuarioDAO usuarioDAO = new UsuarioDAOImpl();
		Usuario usuario = usuarioDAO.getUsuarioById(idUsuario);
		return usuario.getNotificaciones();
	}

}
